package com.holly.unit.deform.api.pojo.online.pojo;

import lombok.Data;

/**
 * 类描述: 表字段实体信息
 *
 * @author fxr
 * @version 1.0.0
 * @date 2022/1/14 12:54
 */
@Data
public class ColumnInfo {

    // 数据库表字段名
    private String colName;

    // 代码中定义的属性字段
    private String fieldName;

    // 字段注释
    private String colComment;

    // JAVA属性类型dbFieldNamedbFieldName
    private String fieldType;

    // 数据库表字段类型
    private String colType;

    // 字符串允许输入的最大长度
    private String strMaxLength;

    // 精度
    private String precision;

    // 小数点
    private String scale;

    // 是否允许为空0否 1是
    private Integer nullAble;

    /** 表字段默认值 */
    private String dbDefaultVal;

    // 是否主键
    private Integer dbIsKey;



    /**
     * 新增对比方法： 不对比字段备注和默认值
     * @param obj 对象
     * @return
     */
    public boolean equalsByDataType(Object obj) {
        if (obj == this) {
            return true;
        }
        if (!(obj instanceof ColumnInfo)) {
            return false;
        }
        ColumnInfo meta = (ColumnInfo)obj;
        return dbDefaultVal.equals(meta.getDbDefaultVal())
                &&colComment.equals(meta.getColComment())
                &&colType.equals(meta.getColType());

    }

}
